package com.zlz.server.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author: zlz
 * @date: 2021/1/15 23:33
 * @description: 公共返回对象
 * @since: JDK1.8
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RespBean {
    /**
     * 状态码
     */
    private long code;

    /**
     * 提示消息
     */
    private String message;

    /**
     * 返回数据
     */
    private Object returnData;


    /**
     * 成功返回结果（不带返回数据和提示消息）
     *
     * @return RespBean
     */
    public static RespBean success() {
        return new RespBean(200, null, null);
    }

    /**
     * 成功返回结果（只带返回数据）
     *
     * @return RespBean
     */
    public static RespBean success(Object returnData) {
        return new RespBean(200, null, returnData);
    }

    /**
     * 成功返回结果（带返回数据和提示消息）
     *
     * @return RespBean
     */
    public static RespBean success(String message, Object returnData) {
        return new RespBean(200, message, returnData);
    }

    /**
     * 失败返回结果（带提示消息）
     *
     * @return RespBean
     */
    public static RespBean error(String message) {
        return new RespBean(500, message, null);
    }

    /**
     * 失败返回结果（带提示消息和返回数据）
     *
     * @return RespBean
     */
    public static RespBean error(String message, Object returnData) {
        return new RespBean(500, message, returnData);
    }
}
